home *** CD-ROM | disk | FTP | other *** search
- /*
- File: AVTransportPriv.h
-
- Contains: Private definitions and interfaces for AV transport control
- driver family.
-
- Written by: Erik Staats
-
- Copyright: © 1996-1997 by Apple Computer, Inc., all rights reserved.
-
- Change History (most recent first):
-
- <FW5> 2/7/97 ES Added defs for queueing client Apple Events.
- <FW4> 10/22/96 ES Added driverRefNum and driverOpened and removed
- delayedNotificationRef from AVTDriverData record.
- <FW3> 6/20/96 ES Made this look more like a .i generated interface.
- <FW2> 6/20/96 ES Filled in contains and written by fields.
- <FW1> 6/20/96 ES first checked in
-
- */
-
- #ifndef __AVTRANSPORTPRIV__
- #define __AVTRANSPORTPRIV__
-
- #ifndef __TYPES__
- #include <Types.h>
- #endif
- #ifndef __APPLEEVENTS__
- #include <AppleEvents.h>
- #endif
- #ifndef __NAMEREGISTRY__
- #include <NameRegistry.h>
- #endif
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- #if PRAGMA_IMPORT_SUPPORTED
- #pragma import on
- #endif
-
- #if PRAGMA_ALIGN_SUPPORTED
- #pragma options align=mac68k
- #endif
-
- typedef struct AVTClientDataStruct
- AVTClientData,
- *AVTClientDataPtr;
-
- typedef struct AVTDriverDataStruct
- AVTDriverData,
- *AVTDriverDataPtr;
-
- struct AVTFamilyDataStruct
- {
- AVTClientDataPtr pAVTClientList; // Pointer to list of registered clients.
- AVTDriverDataPtr pAVTDriverList; // Pointer to list of installed drivers.
- UInt32 numAVTDrivers; // Number of drivers in above list.
- };
- typedef struct AVTFamilyDataStruct
- AVTFamilyData,
- *AVTFamilyDataPtr;
-
- typedef struct ClientAppleEventDataStruct
- ClientAppleEventData,
- *ClientAppleEventDataPtr;
- struct ClientAppleEventDataStruct
- {
- ClientAppleEventDataPtr pNextClientAppleEventData; // Link to next client Apple Event.
- AppleEvent clientAppleEvent; // The apple event to send.
- Boolean clientAppleEventValid; // True if above is valid.
-
- AppleEvent *reply; // Apple Event reply.
- AESendMode sendMode; // Send mode of Apple Event.
- AESendPriority sendPriority; // Priority of Apple Event.//zzz how to best implement this wrt SWInts???
- long timeOutInTicks; // Timeout of Apple Event.//zzz how to best implement this wrt SWInts???
- AEIdleUPP idleProc; // Idle proc for Apple Event.
- AEFilterUPP filterProc; // Filter proc for Apple Event.
- };
-
- struct AVTClientDataStruct
- {
- AVTClientDataPtr pPrevAVTClientData,
- pNextAVTClientData; // Pointer to previous and next client in list.
-
- QHdrPtr clientAppleEventQueue; // Queue of Apple Events to send to client.
-
- AppleEvent deviceAddedAppleEvent; // Apple event for device added notification.
- Boolean deviceAddedAppleEventValid; // True if above event is valid.
-
- AppleEvent deviceRemovedAppleEvent; // Apple event for device removed notification.
- Boolean deviceRemovedAppleEventValid; // True if above event is valid.
-
- AEAddressDesc clientAEAddress; // Address of client.
- Boolean clientAEAddressValid; // True if above descriptor is valid.
-
- UInt32 clientContextData; // Data for use by client.
- };
-
- struct AVTDriverDataStruct
- {
- AVTDriverDataPtr pNextAVTDriverData; // Pointer to next driver in driver list.
- AVTDriverID avtDriverID; // ID referencing this data record.
- DriverRefNum driverRefNum; // Device Manager driver ref num.
- Boolean driverOpened; // True if we've opened the driver.
- AVTInterfaceProcPtr pAVTDriverInterface; // Pointer to main interface proc
- // in driver.
- Ptr pDriverSpecificData; // Data specific to driver.
- RegEntryID deviceRegistryID; // Name registry ID of AV transport control device
- CFragConnectionID driverConnID; // Code fragment connection ID for this driver.
- UInt32 numConnections; // Number of connections to this driver.
- Boolean deviceDisconnected; // True if device was disconnected.
- };
-
-
- ////////////////////////////////////////////////////////////////////////////////
- //
- // AV transport control driver family private procedures.
- //
-
- OSStatus InstallAVTExpert (void);
-
- OSStatus UninstallAVTExpert (void);
-
- #if PRAGMA_ALIGN_SUPPORTED
- #pragma options align=reset
- #endif
-
- #if PRAGMA_IMPORT_SUPPORTED
- #pragma import off
- #endif
-
- #ifdef __cplusplus
- }
- #endif
-
- #endif /* __AVTRANSPORTPRIV__ */
-